package org.zgflex.desktop
{
	import flash.display.DisplayObject;
	import flash.geom.Rectangle;
	
	/**
	 * The interface to be implemented by desktop in order to have the possibility<b/>
	 * to add and remove icons, get a list of all icons, <br/>
	 * and to get container dimensions because of the layout operations.
	 * @author dankok
	 * 
	 */	
	public interface IIconContainer
	{
		/**
		 * Gets dimensions of the container as a Rectangle.<br/>
		 * We are interested in width and height only.
		 * @return 
		 * 
		 */		
		function getContainerDimensions():Rectangle;
		
		/**
	     * Sets icons.
	     * @param value
	     * 
	     */	    
	    function set icons(value:Object):void;
	    
	    /**
		 * Adds an icon to the container.
		 * @param icon
		 * 
		 */		
		function addIcon(icon:DisplayObject):void;
		
		/**
		 * Removes an icon from the container.
		 * @param icon
		 * 
		 */		
		function removeIcon(icon:DisplayObject):void;
		
		/**
		 * Removes all icons from the container.
		 * 
		 */		
		function removeAllIcons():void;
		
		/**
		 * Gets the icon iterator.
		 * @return 
		 * 
		 */		
		function get iconsIterator():ArrayIterator;

	}
}